Experience: 2.5 YOE at FinTech
Education: BE CS at Tier 2 college in India
Position: Software Developer 1
Location: India
Interview Date: August / September 2021
Interview
Round 0
Online coding assessment
2 questions
Question 1 - Given an array of integers determine the number of ways the entire array can be split into two non-empty subarrays, left and right, such that the sum of elements in the left subarray is greater than the sum of elements in the right subarray (Medium)
Question 2 - Graph - Shortest path (Hard)
Solved first question completely
Solved second question partially (50% test cases)
Round 1
Technical Coding Interview
2 medium level questions
Question 1 - Scheduling problem ( Stack based approach )
Question 2 - Number of elements in a BST in a given range ( BFS traversal )
Tell me about a time when you worked on a project under constraints
What safrices did you make inorder to achieve the end result in the given constraints?
Round 2
Technical Coding Interview
2 medium level questions
Question 1 - Find the nearest smaller numbers on the left side in an array
Question 2 - Find the number of islands in matrix
Tell me about a time when you made a mistake or failed
Round 3
High Level System Design Interview
Design a URL shortener system
Discussed on high level design of an previous project on resume
Tell me about a time when you faced an obstacle
Round 4
Low Level System Design Interview
Design a Cricket scorecard manipulation system (Cricbuzz)
Discussed design patterns used in an existing project on resume
Tell me about one of the accomplishments you are proud of
Post Interview
Offer
Received a call from recruiter in 2 days from the last interview that they will be rolling out an offer soon
Received call for salary details after 7 days from the last interview
Negotiation
Did not negotiate salary as did not have any competing offer
Compensation
The offer consists of three parts -
Base Salary (Inclusive of HRA, LTA, etc.) - Tentative Range can be found on Blind
Joining Bonus - Split between year 1 & 2. Usually more than half of the base salary
Stock Units - Split over 4 years with minimum percentage (sometimes 0 units in year 1)
(Cannot share the exact numbers, but you can find details on Glassdoor and Blind)
Tips
Prepare/ Read all the questions (except advanced level data structures) mentioned in the Data Structures on GFG
Focus on leadership principles is high, so never ignore preparing 'Leadership principles'
You can ask your recruiter the tentative leadership principles for which you should prepare your answers for
Make sure you design or write down (during the preparation phase) answers in STAR format for all the possible questions
There is no standard question set that interviewers use, hence, your questions may vary extremely depending upon the interviewers
Be careful while accepting the offered shares units, make sure the number of shares you receive at the end of first year is a integer
Suggested preparation timeline (Not mine)
DSA - 1 month (LeetCode FAQs + GFG problems mentioned above) (Number of questions depend on individuals)
System Design - 1 month (The content below will require more than 2-3 weeks of study to understand all the necessary details and would recommend 1-2 week of rough practice)
System Design
Gaurav Sen (All HLD YT Videos recommended)
HLD Titles to look for YT videos
Content Delivery Network (CDN), Horizontal vs Vertical Scaling, Relational SQL vs NoSQL, Database Sharding, Load Balancing, Distributed Caching, Publisher Subscriber Model
Examples HLD of WhatsApp, Netflix, Tinder, Instagram, Tiktok
TicTacToe LLD
Soumyajit Bhattacharyay (YT channel)
LLD Titles to look for YT videos
Examples of BookMyShow, Stackoverflow, ATM
The Tech Grant (YT channel)
All design patterns (Singleton, Decorator, Strategy, Bridge, etc.) for LLD preparation
The Code Mate (YT channel)
Coding Interview Series (Playlist) for OOP concepts
Udit Agarwal (YT channel)
Videos including 'Low Level System Design' in title
To summarize System Design preparation -
Watch as much videos mentioned above as possible
Understand the what structure/ pattern is applicable for which usecase
Be aware of at least 2 software examples of each option (For example, if you are using NoSQL, be aware of advantages/ disadvantages of DynamoDB, MongoDb, etc. Same goes for Load Balancer, Cache, etc.)
For early career SDE2 interviews, higher weightage is given to LLD interviews